// import com.alibaba.druid.sql.ast.SQLName;
// import com.alibaba.druid.sql.dialect.oracle.ast.OracleSQLObjectImpl;
// import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;

#include "OracleXmlColumnProperties.h"
#include "../../visitor/OracleASTVisitor.h"
#include "OracleLobParameters.h"
#include "../../../../ast/SQLName.h"

// @Override
void OracleXmlColumnProperties_OracleXMLTypeStorage::accept0(OracleASTVisitor_ptr visitor)
{
}

BOOL_ptr OracleXmlColumnProperties_OracleXMLTypeStorage::isSecureFile()
{
  return secureFile;
}

void OracleXmlColumnProperties_OracleXMLTypeStorage::setSecureFile(BOOL_ptr secureFile)
{
  this->secureFile = secureFile;
}

BOOL_ptr OracleXmlColumnProperties_OracleXMLTypeStorage::isBasicFile()
{
  return basicFile;
}

void OracleXmlColumnProperties_OracleXMLTypeStorage::setBasicFile(BOOL_ptr basicFile)
{
  this->basicFile = basicFile;
}

BOOL_ptr OracleXmlColumnProperties_OracleXMLTypeStorage::isClob()
{
  return clob;
}

void OracleXmlColumnProperties_OracleXMLTypeStorage::setClob(BOOL_ptr clob)
{
  this->clob = clob;
}

BOOL_ptr OracleXmlColumnProperties_OracleXMLTypeStorage::isBinaryXml()
{
  return binaryXml;
}

void OracleXmlColumnProperties_OracleXMLTypeStorage::setBinaryXml(BOOL_ptr binaryXml)
{
  this->binaryXml = binaryXml;
}

OracleLobParameters_ptr OracleXmlColumnProperties_OracleXMLTypeStorage::getLobParameters()
{
  return lobParameters;
}

void OracleXmlColumnProperties_OracleXMLTypeStorage::setLobParameters(OracleLobParameters_ptr x)
{
  if (x != nullptr)
  {
    x->setParent(SharedObject(OracleXmlColumnProperties_OracleXMLTypeStorage));
  }
  this->lobParameters = x;
}

// @Override
void OracleXmlColumnProperties::accept0(OracleASTVisitor_ptr visitor)
{
  if (visitor->visit(SharedObject(OracleXmlColumnProperties)))
  {
    acceptChild(visitor, storage);
  }
  visitor->endVisit(SharedObject(OracleXmlColumnProperties));
}

SQLName_ptr OracleXmlColumnProperties::getColumn()
{
  return column;
}

void OracleXmlColumnProperties::setColumn(SQLName_ptr x)
{
  if (x != nullptr)
  {
    x->setParent(SharedObject(OracleXmlColumnProperties));
  }
  this->column = x;
}

OracleXmlColumnProperties_OracleXMLTypeStorage_ptr OracleXmlColumnProperties::getStorage()
{
  return storage;
}

void OracleXmlColumnProperties::setStorage(OracleXmlColumnProperties_OracleXMLTypeStorage_ptr x)
{
  if (x != nullptr)
  {
    x->setParent(SharedObject(OracleXmlColumnProperties));
  }
  this->storage = x;
}

BOOL_ptr OracleXmlColumnProperties::getAllowNonSchema()
{
  return allowNonSchema;
}

void OracleXmlColumnProperties::setAllowNonSchema(BOOL_ptr allowNonSchema)
{
  this->allowNonSchema = allowNonSchema;
}

BOOL_ptr OracleXmlColumnProperties::getAllowAnySchema()
{
  return allowAnySchema;
}

void OracleXmlColumnProperties::setAllowAnySchema(BOOL_ptr allowAnySchema)
{
  this->allowAnySchema = allowAnySchema;
}
